package www.bwsensing.com.service.collection.database.dataobject;

import com.alibaba.cola.exception.BizException;

/**
 * 传输方式
 * @author macos-zyj
 */
public enum TranslateType{
    /**
     * TCP
     */
    TCP("TCP",DataType.INTEGER),
    UDP("UDP",DataType.INTEGER),
    MQTT("MQTT",DataType.STRING)
    ;
    /**
     * 传输方式
     */
    private String typeName;

    /**
     * 数据类型
     */
    private DataType dataType;

    TranslateType(String typeName, DataType dataType) {
        this.typeName = typeName;
        this.dataType = dataType;
    }

    public static TranslateType getTransactionType(String typeName){
        for (TranslateType currentType : TranslateType.values()){
            if (currentType.getTypeName().equals(typeName)){
                return currentType;
            }
        }
        throw new BizException("传输方式不存在!");
    }

    public Object getData(String serviceValue){
        if (dataType == DataType.INTEGER) {
            return Integer.valueOf(serviceValue);
        }
        return serviceValue;
    }

    public String getTypeName() {
        return typeName;
    }


    enum DataType{
        /**数据解析类型*/
        INTEGER,
        STRING,
    }
}
